<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // async作用:使异步操作更加方便
    // 基本操作：它会返回一个promise对象
    // 它是Generator的一个语法糖

    async function f() {
        // 模拟异步  第二次异步需要用到第一次异步的数据
        let str = await 'hello world this is a book';
        let result = await str.split(' ');         // 如果有多个await   then函数会等待所有await指令运行完
        return result
    }

    f().then(v => {
        console.log(v)
    }).catch(err => {
        console.log(err)
    })


    //
    async function f2() {
        //  throw new Error('出错了')
        await Promise.reject('出错了') // 如果遇到reject，后面不执行;但有时期望出错了也要执行后面的语句，则可以使用try-catch来解决
        await Promise.resolve('成功了')
    }

    f2().then(v => console.log(v)).catch(err => console.log(err))
</script>
</body>
</html>
